<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.prime.com.tr/ui">

    <h:body>

        <ui:composition template="./../plantillas/plantillaBase_1.xhtml">

            <ui:define name="titulo">
                Crear Solicitud
            </ui:define>

            <ui:define name="identificador">
                <div id="identificador">Crear Solicitud</div>
            </ui:define>
            <ui:define name="scriptMapa">
                <script type="text/javascript" src="../resources/js/validaciones/validacion.js"></script>
            </ui:define>
            <ui:define name="contenido">
                <h:form id="solicitud" prependId="false">
                    <p:tooltip global="true"/>
                    <h:panelGroup id="impresion">
                        <p:fieldset id="datosSolicitante" legend="Datos Solicitante">
                            <h:panelGrid columns="4" cellspacing="8" style="width: 800px">
                                <h:outputLabel for="primerNom" value="Primer Nombre: *"/>
                                <h:inputText id="primerNom" value="#{managerCrearSolicitud.primerNombreSolicitante}" required="true" requiredMessage="* Campo requerido: Primer Nombre" maxlength="50" validatorMessage="Primer Nombre: Ingrese solo letras sin espacios" onblur="initialCap(this);" >
                                    <f:validator validatorId="checkvalideLetras" for="primerNom"/>
                                </h:inputText>
                                <h:outputLabel for="segundoNom" value="Segundo Nombre:" />
                                <h:inputText id="segundoNom" value="#{managerCrearSolicitud.segundoNombreSolicitante}" maxlength="100" validatorMessage="Segundo Nombre:Ingrese solo letras " >
                                    <f:validator validatorId="checkvalideApellido"/>
                                </h:inputText>
                                <h:outputLabel for="primerApell" value="Primer Apellido: *" />
                                <h:inputText id="primerApell" value="#{managerCrearSolicitud.primerApellidoSolicitante}" required="true" requiredMessage="* Campo requerido: Primer Apellido" maxlength="30" validatorMessage="Primer Apellido: Ingrese solo letras sin espacios  " onblur="initialCap(this);">
                                    <f:validator validatorId="checkvalideLetras" for="primerApell"/>
                                </h:inputText>
                                <h:outputLabel for="segundoApell" value="Segundo Apellido:"/>
                                <h:inputText id="segundoApell" value="#{managerCrearSolicitud.segundoApellidoSolicitante}" maxlength="30" validatorMessage="Segundo Apellido:Ingrese solo letras ">
                                    <f:validator validatorId="checkvalideApellido" />
                                </h:inputText>
                                <h:outputLabel for="dui" value="DUI: *" />
                                <p:inputMask id="dui" value="#{managerCrearSolicitud.duiSolicitante}" required="true" requiredMessage="* Campo requerido: DUI" mask="999999999" >
                                    <f:convertNumber for="dui"/>
                                </p:inputMask>
                                <h:outputLabel for="telResidencia" value="Tel. Residencia:"/>
                                <p:inputMask id= "telResidencia" value="#{managerCrearSolicitud.telefonoResidenciaSolicitante}" mask="29999999">
                                    <f:convertNumber for="telResidencia"/>
                                </p:inputMask>
                                <h:outputLabel for="telOficina" value="Tel. Oficina:"/>
                                <p:inputMask id= "telOficina" value="#{managerCrearSolicitud.telefonoOficinaSolicitante}" mask="29999999">
                                    <f:convertNumber for="telOficina"/>
                                </p:inputMask>
                                <h:outputLabel for="telFax" value="Celular:"/>
                                <p:inputMask id= "telFax" value="#{managerCrearSolicitud.telefonoFaxCelularSolicitante}" mask="79999999">
                                    <f:convertNumber for="telFax"/>
                                </p:inputMask>
                                <h:outputLabel for="departamento" value="Departamento: *"/>
                                <h:selectOneMenu id="departamento" value="#{managerCrearSolicitud.departamentoSolicitanteSeleccionado}" required="true" requiredMessage="Seleccion un departamaneto solicitante">
                                    <f:ajax event="change" render="municipio"/>
                                    <f:selectItems value="#{managerCrearSolicitud.listaDeptos}"/>
                                </h:selectOneMenu>
                                <h:outputLabel for="municipio" value="Municipio: *" />
                                <h:selectOneMenu id="municipio" value="#{managerCrearSolicitud.municipioSolicitanteSeleccionado}" validatorMessage="*Campo Requerido: Municipio">
                                    <f:selectItems value="#{managerCrearSolicitud.listaMunicipiosFiltradosSolicitante}"/>
                                    <f:validateRequired for="municipio"/>
                                </h:selectOneMenu>
                                <h:outputLabel for="solicitadoPor" value="Solicitado por:" />
                                <h:selectOneMenu id="solicitadoPor" value="#{managerCrearSolicitud.solicitanteSeleccionado}">
                                    <f:ajax event="change" execute="datosSolicitante" render="datosSolicitante datosProfesional datosResponsable" listener="#{managerCrearSolicitud.duplicacionSolicitante}"/>
                                    <f:selectItem itemLabel="Otros" itemValue="0"/>
                                    <f:selectItem itemLabel="Propietario" itemValue="1"/>
                                    <f:selectItem itemLabel="Responsable" itemValue="2"/>
                                </h:selectOneMenu>
                            </h:panelGrid>
                            <h:panelGrid>
                                <h:outputLabel value="* Campos Requeridos"/>
                                <p:message for="primerNom" />
                                <p:message for="segundoNom" />
                                <p:message for="primerApell" />
                                <p:message for="segundoApell" />
                                <p:message for="telResidencia" />
                                <p:message for="telOficina" />
                                <p:message for="telFax" />
                                <p:message for="departamento"/>
                                <p:message for="municipio"/>
                                <p:message for="dui" />
                            </h:panelGrid>

                        </p:fieldset>
                        <br/>
                        <p:fieldset id="datosIntervencion" legend="Tipo de intervención a realizar">
                            <h:panelGrid columns="3" cellspacing="8" style="width: 800px">
                                <h:outputLabel for="tIntervencion" value="Tipo de Intervención: *"/>
                                <h:selectOneMenu id="tIntervencion" value="#{managerCrearSolicitud.tipoIntervencionSeleccionada}" required="true" requiredMessage="* Campo reuerido: Tipo de Intervencion">
                                    <f:selectItems value="#{managerCrearSolicitud.listaTiposIntervencion}"/>
                                </h:selectOneMenu>
                                <p:message for="tIntervencion"/>
                            </h:panelGrid>
                        </p:fieldset>
                        <br/>
                        <p:fieldset id="datosInmueble" legend="Datos del inmueble">
                            <h:panelGrid  columns="4" cellspacing="8" style="width: 800px">
                                <h:outputLabel for="direccionInm" value="Dirección: *"/>
                                <h:inputText id="direccionInm" value="#{managerCrearSolicitud.direccionInmueble}" maxlength="100" required="true" requiredMessage="* Campo Requerido: Dirección"/>
                                <h:outputLabel for="departamentoInm" value="Departamento: *"/>
                                <h:selectOneMenu id="departamentoInm" value="#{managerCrearSolicitud.departamentoInmuebleSeleccionado}" >
                                    <f:ajax event="change" render="municipioInm"/>
                                    <f:selectItems value="#{managerCrearSolicitud.listaDeptos}"/>
                                </h:selectOneMenu>
                                <h:outputLabel for="municipioInm" value="Municipio: *"/>
                                <h:selectOneMenu id="municipioInm" value="#{managerCrearSolicitud.municipioInmuebleSeleccionado}">
                                    <f:selectItems value="#{managerCrearSolicitud.listaMunicipiosFiltradosInmueble}"/>
                                </h:selectOneMenu>
                                <h:outputLabel for="usoOriginal" value="Uso Original: *"/>
                                <h:selectOneMenu id="usoOriginal" value="#{managerCrearSolicitud.usoOriginal}">
                                    <f:selectItems value="#{managerCrearSolicitud.listaUsoSuelo}"/>
                                </h:selectOneMenu>
                                <h:outputLabel for="usoActual" value="Uso Actual: *"/>
                                <h:selectOneMenu id="usoActual" value="#{managerCrearSolicitud.usoActual}">
                                    <f:selectItems value="#{managerCrearSolicitud.listaUsoSuelo}"/>
                                </h:selectOneMenu>
                                <h:outputLabel for="usoDestinado" value="Uso Destinado: *"/>
                                <h:selectOneMenu id="usoDestinado" value="#{managerCrearSolicitud.usoDestinado}">
                                    <f:selectItems value="#{managerCrearSolicitud.listaUsoSuelo}"/>
                                </h:selectOneMenu>
                                <h:outputLabel for="matriculaCNR" value="Matricula CNR: *" />
                                <h:inputText id="matriculaCNR" value="#{managerCrearSolicitud.matriculaCNR}" maxlength="13" required="true" requiredMessage="* Campo requerido: Matricula CNR"/>
                                <h:outputLabel for="colindanteNorte" value="Colindante al Norte:"/>
                                <h:inputText id="colindanteNorte" value="#{managerCrearSolicitud.colindanteNorte}" maxlength="150" validatorMessage="Colindante al Norte:Ingrese solamente letras." onblur="initialCap(this);">
                                    <f:validator validatorId="checkvalideApellido"/>
                                </h:inputText>
                                <h:outputLabel for="colindanteSur" value="Colindante al Sur:"/>
                                <h:inputText id="colindanteSur" value="#{managerCrearSolicitud.colindanteSur}" maxlength="150" validatorMessage="Colindante al Sur:Ingrese solamente letras." onblur="initialCap(this);">
                                    <f:validator validatorId="checkvalideApellido"/>
                                </h:inputText>
                                <h:outputLabel for="colindanteEste" value="Colindante al Este:" />
                                <h:inputText id="colindanteEste" value="#{managerCrearSolicitud.colindanteEste}" maxlength="150" validatorMessage="Colindante al Este:Ingrese solamente letras." onblur="initialCap(this);">
                                    <f:validator validatorId="checkvalideApellido"/>
                                </h:inputText>
                                <h:outputLabel for="colindanteOeste" value="Colindante al Oeste:"/>
                                <h:inputText id="colindanteOeste" value="#{managerCrearSolicitud.colindanteOeste}" maxlength="150" validatorMessage="Colindante al Oeste:Ingrese solamente letras." onblur="initialCap(this);">
                                    <f:validator validatorId="checkvalideApellido"/>
                                </h:inputText>
                                <h:outputLabel for="constructor" value="Constructor/Diseñador:"/>
                                <h:inputText id="constructor" value="#{managerCrearSolicitud.nombreConstructorDisenador}" maxlength="75" validatorMessage="Constructor/Diseñador: Ingrese solamente letras." onblur="initialCap(this);">
                                    <f:validator validatorId="checkvalideApellido"/>
                                </h:inputText>
                                <h:outputLabel for="fechaConstruccion" value="Fecha de construcción:"/>
                               <h:inputText id="fechaConstruccion" value="#{managerCrearSolicitud.fechaConstruccion}"  title="dia/mes/año" onkeyup="this.value=formatDate(this.value);">
                                </h:inputText>
                            </h:panelGrid>
                            <h:panelGrid >
                                <p:message for="direccionInm"/>
                                <p:message for="departamentoInm"/>
                                <p:message for="municipioInm"/>
                                <p:message for="usoOriginal"/>
                                <p:message for="usoActual"/>
                                <p:message for="usoDestinado"/>
                                <p:message for="matriculaCNR"/>
                                <p:message for="colindanteNorte"/>
                                <p:message for="colindanteSur"/>
                                <p:message for="colindanteEste"/>
                                <p:message for="colindanteOeste"/>
                                <p:message for="constructor"/>
                                <p:message for="fechaConstruccion"/>
                            </h:panelGrid>
                        </p:fieldset>
                        <br/>
                        <p:fieldset id="datosProfesional" legend="Datos del propietario">
                            <h:panelGrid  columns="4" cellspacing="8" style="width: 800px">
                                <h:outputLabel for="primerNomPro" value="Primer Nombre: *"/>
                                <h:inputText id="primerNomPro" value="#{managerCrearSolicitud.primerNombrePropietario}" required="true" requiredMessage="* Campo requerido: Primer Nombre" maxlength="50" validatorMessage="Primer Nombre: Ingrese solo letras sin espacios" onblur="initialCap(this);">
                                    <f:validator validatorId="checkvalideLetras" for="primerNomPro"/>
                                </h:inputText>
                                <h:outputLabel for="segundoNomPro" value="Segundo Nombre:" />
                                <h:inputText id="segundoNomPro" value="#{managerCrearSolicitud.segundoNombrePropietario}" maxlength="100" validatorMessage="Segundo Nombre:Ingrese solo letras ">
                                    <f:validator validatorId="checkvalideApellido" for="segundoNomPro"/>
                                </h:inputText>
                                <h:outputLabel for="primerApellPro" value="Primer Apellido: *" />
                                <h:inputText id="primerApellPro" value="#{managerCrearSolicitud.primerApellidoPropietario}" required="true" requiredMessage="* Campo requerido: Primer Apellido" maxlength="30" validatorMessage="Primer Apellido: Ingrese solo letras sin espacios" onblur="initialCap(this);">
                                    <f:validator validatorId="checkvalideLetras" for="primerApellPro"/>
                                </h:inputText>
                                <h:outputLabel for="segundoApellPro" value="Segundo Apellido:"/>
                                <h:inputText id="segundoApellPro" value="#{managerCrearSolicitud.segundoApellidoPropietario}" maxlength="30" validatorMessage="Segundo Apellido:Ingrese solo letras ">
                                    <f:validator validatorId="checkvalideApellido" for="segundoApellPro"/>
                                </h:inputText>
                                <h:outputLabel for="duiPro" value="DUI: *" />
                                <p:inputMask id="duiPro" value="#{managerCrearSolicitud.duiPropietario}" required="true" requiredMessage="* Campo requerido: DUI" mask="999999999" >
                                    <f:convertNumber for="duiPro"/>
                                </p:inputMask>
                                <h:outputLabel for="telResidenciaPro" value="Tel. Residencia:"/>
                                <p:inputMask id= "telResidenciaPro" value="#{managerCrearSolicitud.telefonoResidenciaPropietario}" mask="29999999">
                                    <f:convertNumber for="telResidenciaPro"/>
                                </p:inputMask>
                                <h:outputLabel for="telOficinaPro" value="Tel. Oficina:"/>
                                <p:inputMask id= "telOficinaPro" value="#{managerCrearSolicitud.telefonoOficinaPropietario}" mask="29999999">
                                    <f:convertNumber for="telOficinaPro"/>
                                </p:inputMask>
                                <h:outputLabel for="telFaxPro" value="Celular:"/>
                                <p:inputMask id= "telFaxPro" value="#{managerCrearSolicitud.telefonoFaxCelularPropietario}" mask="79999999">
                                    <f:convertNumber for="telFaxPro"/>
                                </p:inputMask>
                                <h:outputLabel for="departamentoPro" value="Departamento: *"/>
                                <h:selectOneMenu id= "departamentoPro" value="#{managerCrearSolicitud.departamentoPropietarioSeleccionado}" required="true" requiredMessage="campro Requerido. Depto">
                                    <f:ajax event="change" render="municipioPro"/>
                                    <f:selectItems value="#{managerCrearSolicitud.listaDeptos}"/>
                                    <f:validateRequired for="departamentoPro"/>
                                </h:selectOneMenu>
                                <h:outputLabel for="municipioPro" value="Municipio: *" />
                                <h:selectOneMenu id= "municipioPro" value="#{managerCrearSolicitud.municipioPropietarioSeleccionado}" required="true" requiredMessage="Selecciona un municipio.. porfavor ">
                                    <f:selectItems value="#{managerCrearSolicitud.listaMunicipiosFiltradosPropietario}"/>
                                    <f:validateRequired for="minicipioPro" />
                                </h:selectOneMenu>
                                <h:outputLabel for="emailPro" value="E-mail:"/>
                                <h:inputText id="emailPro" value="#{managerCrearSolicitud.emailPropietario}" maxlength="50" title="ejemplo@ejemplo.com">
                                    <f:validator validatorId="checkvalidemail" />
                                </h:inputText>
                                <h:outputLabel for="direccionPro" value="Dirección:"/>
                                <h:inputText id="direccionPro" value="#{managerCrearSolicitud.direccionPropietario}" maxlength="100"/>
                            </h:panelGrid>
                            <h:panelGrid>
                                <p:message for="primerNomPro"/>
                                <p:message for="segundoNomPro"/>
                                <p:message for="primerApellPro"/>
                                <p:message for="segundoApellPro"/>
                                <p:message for="duiPro"/>
                                <p:message for="telResidenciaPro"/>
                                <p:message for="telOficinaPro"/>
                                <p:message for="telFaxPro"/>
                                <p:message for="departamentoPro"/>
                                <p:message for="municipioPro"/>
                                <p:message for="emailPro"/>
                                <p:message for="direccionPro"/>
                            </h:panelGrid>

                        </p:fieldset>
                        <br/>
                        <p:fieldset id="datosResponsable" legend="Datos del profesional responsable">
                            <h:panelGrid  columns="4" cellspacing="8" style="width: 800px">
                                <h:outputLabel for="primerNomRes" value="Primer Nombre: *"/>
                                <h:inputText id="primerNomRes" value="#{managerCrearSolicitud.primerNombreResponsable}" required="true" requiredMessage="* Campo requerido: Primer Nombre" maxlength="50" validatorMessage="Primer Nombre: Ingrese solo letras sin espacios" onblur="initialCap(this);">
                                    <f:validator validatorId="checkvalideLetras" for="primerNomRes"/>
                                </h:inputText>
                                <h:outputLabel for="segundoNomRes" value="Segundo Nombre:" />
                                <h:inputText id="segundoNomRes" value="#{managerCrearSolicitud.segundoNombreResponsable}" maxlength="100" validatorMessage="Segundo Nombre:Ingrese solo letras ">
                                    <f:validator validatorId="checkvalideApellido"/>
                                </h:inputText>
                                <h:outputLabel for="primerApellRes" value="Primer Apellido: *" />
                                <h:inputText id="primerApellRes" value="#{managerCrearSolicitud.primerApellidoResponsable}" required="true" requiredMessage="* Campo requerido: Primer Apellido" maxlength="30" validatorMessage="Primer Apellido: Ingrese solo letras" onblur="initialCap(this);">
                                    <f:validator validatorId="checkvalideLetras" for="primerApellRes"/>
                                </h:inputText>
                                <h:outputLabel for="segundoApellRes" value="Segundo Apellido:"/>
                                <h:inputText id="segundoApellRes" value="#{managerCrearSolicitud.segundoApellidoResponsable}" maxlength="30" validatorMessage="Segundo Apellido:Ingrese solo letras ">
                                    <f:validator validatorId="checkvalideApellido"/>
                                </h:inputText>
                                <h:outputLabel for="duiRes" value="DUI: *" />
                                <p:inputMask id="duiRes" value="#{managerCrearSolicitud.duiResponsable}" required="true" requiredMessage="* Campo requerido: DUI" mask="999999999" >
                                    <f:convertNumber for="duiRes"/>
                                </p:inputMask>
                                <h:outputLabel for="telResidenciaRes" value="Tel. Residencia:"/>
                                <p:inputMask id= "telResidenciaRes" value="#{managerCrearSolicitud.telefonoResidenciaResponsable}" mask="29999999">
                                    <f:convertNumber for="telResidenciaRes"/>
                                </p:inputMask>
                                <h:outputLabel for="telOficinaRes" value="Tel. Oficina:"/>
                                <p:inputMask id= "telOficinaRes" value="#{managerCrearSolicitud.telefonoOficinaResponsable}" mask="29999999">
                                    <f:convertNumber for="telResidencia"/>
                                </p:inputMask>
                                <h:outputLabel for="telFaxRes" value="Celular:"/>
                                <p:inputMask id= "telFaxRes" value="#{managerCrearSolicitud.telefonoFaxCelularResponsable}" mask="79999999">
                                    <f:convertNumber for="telFaxRes"/>
                                </p:inputMask>
                                <h:outputLabel for="departamentoRes" value="Departamento: *"/>
                                <h:selectOneMenu id= "departamentoRes" value="#{managerCrearSolicitud.departamentoResponsableSeleccionado}">
                                    <f:ajax event="change" render="municipioRes"/>
                                    <f:selectItems value="#{managerCrearSolicitud.listaDeptos}"/>
                                </h:selectOneMenu>
                                <h:outputLabel for="municipioRes" value="Municipio: *" />
                                <h:selectOneMenu id= "municipioRes" value="#{managerCrearSolicitud.municipioResponsableSeleccionado}">
                                    <f:selectItems value="#{managerCrearSolicitud.listaMunicipiosFiltradosResponsable}"/>
                                </h:selectOneMenu>
                                <h:outputLabel for="profesion" value="Profesión: *" />
                                <h:selectOneMenu id= "profesion" value="#{managerCrearSolicitud.profesionResponsableSeleccionada}">
                                    <f:selectItems value="#{managerCrearSolicitud.listaProfesiones}"/>
                                </h:selectOneMenu>
                                <h:outputLabel for="registro" value="# Registro: *" />
                                <h:inputText id= "registro" value="#{managerCrearSolicitud.numeroRegistroResponsable}" maxlength="6" required="true" requiredMessage="*Campo requerido:#Registro"/>
                                <h:outputLabel for="emailRes" value="E-mail:"/>
                                <h:inputText id="emailRes" value="#{managerCrearSolicitud.emailResponsable}" maxlength="50" title="ejemplo@ejemplo.com">
                                    <f:validator validatorId="checkvalidemail" />
                                </h:inputText>
                                <h:outputLabel for="direccionRes" value="Dirección:"/>
                                <h:inputText id="direccionRes" value="#{managerCrearSolicitud.direccionResponsable}" maxlength="50"/>
                            </h:panelGrid>
                            <h:panelGrid >
                                <p:message for="primerNomRes"/>
                                <p:message for="segundoNomRes"/>
                                <p:message for="primerApellRes"/>
                                <p:message for="segundoApellRes"/>
                                <p:message for="duiRes"/>
                                <p:message for="telResidenciaRes"/>
                                <p:message for="telOficinaRes"/>
                                <p:message for="telFaxRes"/>
                                <p:message for="departamentoRes"/>
                                <p:message for="municipioRes"/>
                                <p:message for="profesion"/>
                                <p:message for="registro"/>
                                <p:message for="emailRes"/>
                                <p:message for="direccionRes"/>
                            </h:panelGrid>
                        </p:fieldset>

                        <br/>
                        <h:panelGrid id="sol" columns="2">
                            <h:outputLabel for="numSolicitud" value="El número de su solicitud es: " style="color: red; font-size: 20px;"/>
                            <h:outputText id="numSolicitud" value="#{managerCrearSolicitud.numSoli}" style="color: red; font-size: 20px"/>
                        </h:panelGrid>
                    </h:panelGroup>
                    <div align="right">
                        <p:commandButton image="ui-icon ui-icon-disk" value="Guardar" action="#{managerCrearSolicitud.guardarInformacion}" process="@all" update="numSolicitud solicitud"/>
                        <p:commandButton image="ui-icon ui-icon-cancel" value="Regresar" action="hacia-principal" process="@this"/>
                    </div>
                    <p:commandLink id="impresionSolicitud" action="generated_report" actionListener="#{managerCrearSolicitud.generarSolicitud}" process="@this">
                        <p:graphicImage value="../resources/icons/printer-64.png" width="32px" height="32px" />
                    </p:commandLink>
                </h:form>
            </ui:define>
        </ui:composition>
    </h:body>
</html>
